<!DOCTYPE html>
<head>
  <meta charset="utf-8">
  
  <title>
    BLE ATT | 朝雨绫萧的博客
  </title>
  <meta content="width=device-width, initial-scale=1" name="viewport">
  <meta name="theme-color" content="#4184f3">
  
  
  <link href="/image/favicon.png" rel="icon" />
  

  
<link rel="stylesheet" href="/css/highlight.light.css">

  
<link rel="stylesheet" href="/css/prism-customize.css">

  
<link rel="stylesheet" href="/css/nav-icon.css">

  
<link rel="stylesheet" href="/css/waves.min.css">

  
<link rel="stylesheet" href="/css/jquery.tocify.css">

  
<link rel="stylesheet" href="/css/main.css">

  
<link rel="stylesheet" href="/css/nav-indicator.css">

  
<link rel="stylesheet" href="/css/twikoo.css">

  
<link rel="stylesheet" href="/css/search.css">

  
  

  

  </meta>
  </meta>
  <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js"></script>
  
<script src="/js/comment.js"></script>

  
<script src="/js/copy.js"></script>

<meta name="generator" content="Hexo 5.4.0"></head>

	<body>
		<header>
			<!-- cover image or sth. -->
		</header>
		<div id="main" class="m-scene">
			
<div class="nav-wrapper" id="header">

    <div class="container">
        <nav>
            
            
            <div class="logo wave">
                <a href="/" id="logo">
                    朝雨绫萧的博客
                </a>
            </div>

            

            <div class="nav-toggle-icon" >
                <div class="material-hamburger">
                    <span>
                    </span>
                    <span>
                    </span>
                    <span>
                    </span>
                </div>
            </div>

            <div class="menu-wrapper">
                <div class="nav-indicator">
                </div>
                <ul class="menus">
                    
                     
                        <li>
                            <a class="wave " href="/">
                                首页
                            </a>
                        </li>
                     
                        <li>
                            <a class="wave " href="/archives">
                                归档
                            </a>
                        </li>
                     
                        <li>
                            <a class="wave " href="/about">
                                关于
                            </a>
                        </li>
                     
                        <li>
                            <a class="wave " href="/message">
                                留言
                            </a>
                        </li>
                     
                        <li>
                            <a class="wave " href="/search">
                                搜索
                            </a>
                        </li>
                     
                    
                   
                </ul>
            </div>

        </nav>
    </div>
</div>


				<div class="container content">
					<div class="scene_element scene_element--fadein">
						<div class="row">
  <div class="main main-article">
    <article>

      
        <header class="post-header no-cover">
      
        </header>

      <!-- 标题 -->
      <h1 class="post-title">
        BLE ATT
      </h1>

      <section class="post-info post-info-bottom">

        <!-- 发布时间 -->
        <span class="post-date">
          <span class="post-date-text">
            发布于: 2021-02-28
          </span>
        </span>
        
        <!-- 分类 -->
        
          <span class="post-category">分类:
            <a class="article-category-link" href="/categories/BLE/">BLE</a>
          </span>
        

        <!-- 标签 -->
        
          <span class="post-tags">
            <ul class="post-tag-list" itemprop="keywords"><li class="post-tag-list-item"><a class="post-tag-list-link" href="/tags/BLE/" rel="tag">BLE</a></li></ul>
          </span>
        

        <!-- 阅读量统计 -->
        

      </section>

      <!-- 正文 -->
      <section class="post-content">
        <h1 id="属性协议-Attribute-Protocol"><a href="#属性协议-Attribute-Protocol" class="headerlink" title="属性协议(Attribute Protocol)"></a>属性协议(Attribute Protocol)</h1><p>属性协议既包含了关于属性的定义，也包含了属性的操作方法，既属性协议包含了通信协议的内容，属性协议通讯操作的对象是属性实例。</p>
<p><strong>属性协议ATT</strong>只提供了设备之间通讯最基础的应用协议，具体定义属性类型的含义和如何使用属性协议通讯方法在<strong>通用属性规范GATT</strong>中实现，<strong>通用属性规范GATT</strong>是基于<strong>属性协议ATT</strong>抽象出来的一套规范。</p>
<h2 id="角色"><a href="#角色" class="headerlink" title="角色"></a>角色</h2><p>性协议定义了两种角色：服务器和客户端。</p>
<ul>
<li><p>服务器：提供数据的蓝牙设备</p>
</li>
<li><p>客户端：需求数据的蓝牙设备</p>
</li>
</ul>
<p>属性协议允许称为服务器的设备将一组属性及其关联的值公开给对端的称为客户端的设备。 服务器公开的这些属性可以由客户端发现，读取和写入，并且可以由服务器指示和通知。</p>
<h2 id="属性的组成"><a href="#属性的组成" class="headerlink" title="属性的组成"></a>属性的组成</h2><p>属性是一条公开的带有标签的，可以被寻址的数据。属性的组成如下：</p>
<table>
<thead>
<tr>
<th>2 byte</th>
<th>2 or 16 byte</th>
<th>0 ~ 512 byte</th>
<th>看具体实现</th>
</tr>
</thead>
<tbody><tr>
<td>Attribute Handle</td>
<td>Attribute Type</td>
<td>Attribute Value</td>
<td>Attribute Permissions</td>
</tr>
</tbody></table>
<h3 id="属性句柄-Attribute-Handle"><a href="#属性句柄-Attribute-Handle" class="headerlink" title="属性句柄(Attribute Handle)"></a>属性句柄(Attribute Handle)</h3><p>UUID 用于标识某一种数据类型，但使用同一种数据类型的属性可能有多个，所以需要借助属性句柄来区分每一个实例，属性句柄使用一个 16 位的地址，也就是属性句柄。有效的句柄范从0x0001~0xFFFF。0x0000为无效句柄，不能用于寻址属性。</p>
<h3 id="属性类型-Attribute-Type"><a href="#属性类型-Attribute-Type" class="headerlink" title="属性类型(Attribute Type)"></a>属性类型(Attribute Type)</h3><p>一串 128 位的数字被用来标识属性的类型，这个唯一的标识码就叫做通用唯一识别码(UUID)。为了提高传输效率，蓝牙技术联盟(SIG)定义了一个称为“蓝牙 UUID 基数”的 128 位通用唯一识别码，结合一个较短的 16 位数使用。二者仍然遵循通用唯一识别码的分配规则，只不过在设备间传输常用 UUID 时，只发送较短的 16 位版本，接收方收到后补上蓝牙 UUID 基数即可。</p>
<p>BLE的属性类型是有限的，有四个大类：</p>
<ul>
<li>Primary Service（首要服务项）</li>
<li>Secondary Service（次要服务项）</li>
<li>Include（包含服务项）</li>
<li>Characteristic（特征值）</li>
</ul>
<p>这些属性类型分别对应了指定的UUID，BLE对这些UUID与属性类型的映射关系做了规定：</p>
<ul>
<li>0x1800 – 0x26FF ：服务项类型</li>
<li>0x2700 – 0x27FF ：单位</li>
<li>0x2800 – 0x28FF ：属性类型</li>
<li>0x2900 – 0x29FF ：描述符类型</li>
<li>0x2A00 – 0x7FFF ：特征值类型</li>
</ul>
<h3 id="属性值-Attribute-Value"><a href="#属性值-Attribute-Value" class="headerlink" title="属性值(Attribute Value)"></a>属性值(Attribute Value)</h3><p>属性值是一个八位字节数组，可以是固定长度也可以是可变长度。 例如，它可以是一个八位字节的值，也可以是四个八位字节的整数，或者是一个可变长度的字符串。 属性可能包含一个太大的值，无法在单个PDU中发送，并且可以使用多个PDU发送。 传输的值对于属性协议是不透明的。 这些八位字节数组的编码由属性类型定义。</p>
<h3 id="属性许可-Attribute-Permissions"><a href="#属性许可-Attribute-Permissions" class="headerlink" title="属性许可(Attribute Permissions)"></a>属性许可(Attribute Permissions)</h3><p>属性许可仅仅是对属性值的一种保护， 对句柄和类型没有用。也就是说对方设备对这个属性值的操作具有什么样的权限，也就是规定了这个属性值的安全级别，例如读写是否需要认证或者需要授权。注意：这个属性许可是不能通过属性发现协议获取到的，只能是获取对方某个属性值时，如果需要什么权限，对方就会发一个状态过来，根据状态进行下一步操作。</p>
<p>如果对安全属性的访问需要经过身份认证的连接，而客户端是在服务器上没有经过安全性验证的， 这时服务器发送一个错误代码<br>«Insufficient Authentication» 给客户端。当客户端收到这个错误代码，它可能尝试对连接进行身份验证，如果身份验证成功的，就可以访问这个属性值了。</p>
<p>如果对安全属性的访问需要加密连接，而连接不是加密的， 服务器发送错误代码«Insufficient Encryption»(加密不足)给客户端。当客户端收到这个错误代码时，它可能会尝试发起加密请求， 如果加密成功，它就可以访问这个属性值。</p>
<p>属性许可本身分 3 种类型(访问许可、身份认证许可和授权许可)：</p>
<ul>
<li><strong>访问许可</strong><ul>
<li>可读</li>
<li>可写</li>
<li>可读且可写 </li>
</ul>
</li>
<li><strong>身份认证许可</strong><ul>
<li>需要认证</li>
<li>不需要认证 </li>
</ul>
</li>
<li><strong>授权许可</strong><ul>
<li>无授权</li>
<li>授权 </li>
</ul>
</li>
</ul>
<h2 id="属性协议通讯"><a href="#属性协议通讯" class="headerlink" title="属性协议通讯"></a>属性协议通讯</h2><p>属性协议通讯采用下面六种方式之一，用于发现、读写、通知、和指示属性：</p>
<ul>
<li>请求(Request)        - 客户端向服务器请求数据。</li>
<li>响应(Response)     - 服务器对请求的应答。</li>
<li>命令(Command)     - 客户端发送命令到服务器，无应答。</li>
<li>通知(Notification)    - 服务器主动发送到客户端，无应答。</li>
<li>指示(Indication)       - 服务器主动向客户端发送，客户端需要确认。</li>
<li>确认(Confirmation)  - 客户端对指示应答。</li>
</ul>
<blockquote>
<p>这里涉及到“原子操作”，上面的通讯方式中Request和Response是一对，Indication 和 Confirmation 是一对。在没有得到对方的应答或者确认信息之前是不能进行第 2 包的请求或者指示数据。 命令和通知因为没有应答信息，所以可以在任何时候进行传输。</p>
</blockquote>
<h3 id="属性PDU格式"><a href="#属性PDU格式" class="headerlink" title="属性PDU格式"></a>属性PDU格式</h3><p>属性PDU，属性协议数据单元。既属性协议通讯的数据格式，定义如下：</p>
<table>
<thead>
<tr>
<th>1 byte</th>
<th>0 ~ ATT_MTU - X</th>
<th>0 or 12 byte</th>
</tr>
</thead>
<tbody><tr>
<td>Attribute Opcode</td>
<td>Attribute Parameter</td>
<td>Authentication Signature</td>
</tr>
</tbody></table>
<p><strong>属性操作码(Attribute Opcode)</strong></p>
<p>Opcode：<br>bit 0-5：Method 操作属性的方法<br>bit 6：Command 标识位<br>bit 7：Authentication Signature 标识位 </p>
<p>如果属性操作码的认证签名标志设置为1，则认证签名值应附加在属性PDU的末尾，并且X为13。如果属性操作码的认证签名标志设置为0，则认证签名值不得附加，并且X为1。</p>
<h3 id="属性协议方法"><a href="#属性协议方法" class="headerlink" title="属性协议方法"></a>属性协议方法</h3><p>属性协议方法如下所示：</p>
<table>
<thead>
<tr>
<th>Methon Name</th>
<th>Number</th>
<th>Parameters</th>
</tr>
</thead>
<tbody><tr>
<td>Error response</td>
<td>0x01</td>
<td>Request Opcode in Error,Attribute Handle in Error,Errir code</td>
</tr>
<tr>
<td>Exchange MTU Request</td>
<td>0x02</td>
<td>Client Rx MTU</td>
</tr>
<tr>
<td>Exchange MTU Response</td>
<td>0x03</td>
<td>Server RX MTU</td>
</tr>
<tr>
<td>Find Information Request</td>
<td>0x04</td>
<td>Staring Handle,Ending Handle,UUID</td>
</tr>
<tr>
<td>Find Information Response</td>
<td>0x05</td>
<td>Format,Information Data</td>
</tr>
<tr>
<td>Find By Type Value Request</td>
<td>0x06</td>
<td>Staring Handle,Ending Handle,Attribute Type,Attritube Value</td>
</tr>
<tr>
<td>Find By Type Value Response</td>
<td>0x07</td>
<td>Handles Information List</td>
</tr>
<tr>
<td>Read By Type Request</td>
<td>0x08</td>
<td>Staring Handle,Ending Handle,UUID</td>
</tr>
<tr>
<td>Read By Type Response</td>
<td>0x09</td>
<td>Length,Attribute Data List</td>
</tr>
<tr>
<td>Read Request</td>
<td>0x0A</td>
<td>Attribute Handle</td>
</tr>
<tr>
<td>Read Response</td>
<td>0x0B</td>
<td>Attribute Value</td>
</tr>
<tr>
<td>Read Blob Request</td>
<td>0x0C</td>
<td>Attribute Handle,Value Offset</td>
</tr>
<tr>
<td>Read Blob Response</td>
<td>0x0D</td>
<td>Part Attribute Value</td>
</tr>
<tr>
<td>Read Multiple Request</td>
<td>0x0E</td>
<td>Handle Set</td>
</tr>
<tr>
<td>Read Multiple Response</td>
<td>0x0F</td>
<td>Value Set</td>
</tr>
<tr>
<td>Read By Group Type Request</td>
<td>0x10</td>
<td>Staring Handle,Ending Handle,UUID</td>
</tr>
<tr>
<td>Read By Group Type Response</td>
<td>0x11</td>
<td>Length,Attribute Data List</td>
</tr>
<tr>
<td>Write Request</td>
<td>0x12</td>
<td>Attribute Handle,Attribute Value</td>
</tr>
<tr>
<td>Write Response</td>
<td>0x13</td>
<td>-</td>
</tr>
<tr>
<td>Write Command</td>
<td>0x52</td>
<td>Attribute Handle,Attribute Value</td>
</tr>
<tr>
<td>Prepare Write Request</td>
<td>0x16</td>
<td>Attribute Handle,Value Offset,Part Attribute Value</td>
</tr>
<tr>
<td>Prepare Write Response</td>
<td>0x17</td>
<td>Attribute Handle,Value Offset,Part Attribute Value</td>
</tr>
<tr>
<td>Execute Write Request</td>
<td>0x18</td>
<td>Flags</td>
</tr>
<tr>
<td>Execute Write Response</td>
<td>0x19</td>
<td>-</td>
</tr>
<tr>
<td>Handle Value Notification</td>
<td>0x1B</td>
<td>Attribute Handle,Attribute Value</td>
</tr>
<tr>
<td>Handle Value Indication</td>
<td>0x1D</td>
<td>Attribute Handle,Attribute Value</td>
</tr>
<tr>
<td>Handle Value Confirmation</td>
<td>0x1E</td>
<td></td>
</tr>
<tr>
<td>Signed Write Command</td>
<td>0xD2</td>
<td>Attribute Handle,Attribute Value,Authentication Signeture</td>
</tr>
</tbody></table>

      </section>

    </article>
    
    


    <!-- 版权声明 -->
    <div class="post-copyright">
	<div>
		<strong>本文作者：</strong>
		<span>
			朝雨绫萧
		</span>
	</div>
	<div>
		<strong>本文链接：</strong>
		<a href="http://zzylxx.gitee.io/BLE ATT">
			http://zzylxx.gitee.io/BLE ATT
		</a>
	</div>
	<div>
		<span>欢迎任何形式的转载，但请务必注明出处。</span>
	</div>
	<div>
		<span>由于笔者水平有限，如果文章或代码有表述不当之处，还请不吝赐教。</span>
	</div>
</div>


<style>
	.post-copyright {
		background-color: #fff;
		/* box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.05); */
		box-shadow: 0 6px 30px -10px rgba(0, 0, 0, 0.1);
		display: block;
		margin: 20px auto;
		margin-bottom: 15px;
		padding: 10px;
		font-size: 15px;
		color: #2e2d2d;
		word-break: break-all;
		line-height: 1.8;
	}


	.post-copyright a {
		color: #2e2d2d;
		border-bottom: 1px solid #999;
	}

	.post-copyright a:hover {
		color: #2e2d2d;
		border-bottom: 1px solid #000;
	}
</style>

    <!-- comments -->
    <div class="comments">
    <h3 id="commenttitle" style="margin-top: 20px;margin-left: 10px;">评论区</h3>
    <div id="tcomment"></div>
</div>
<script src="https://cdn.jsdelivr.net/npm/twikoo@1.0.0/dist/twikoo.all.min.js"></script>
<script>twikoo.init({ envId: 'twikoo-1gx61ki809c44dc7', el: '#tcomment' })</script>

    <div class="right-icon">
      <div id="to-valine" class="right-icon-item">
        <a href="#commenttitle">评论</a>
      </div>
    </div>

  </div>


  <aside>
    <div class="aside-wrap">
    
        <section class="widget-wrap">
    <h3 class="widget-title">简介</h3>
    <div class="widget">
        <div class="notice">
            <img class="notice-img" src="/image/head_portrait.jpg">
            <p>路漫漫其修远兮，<br>吾将上下而求索!<br></p>
            
            <p class="notice-item">
                <!-- github -->
                <span><a target="_blank" href="https://github.com/qgyhd1234"><img src="https://shuxhan-imgbed.oss-cn-hangzhou.aliyuncs.com/img/20210108165043.jpg" alt="Github"></a></span>
                <!-- juejin -->
                <!-- <span><a target="_blank" href=""><img src="https://shuxhan-imgbed.oss-cn-hangzhou.aliyuncs.com/img/20210108165800.png" alt="掘金社区"></a></span> -->
                <!-- zhihu -->
                <!-- <span><a target="_blank" href=""><img src="https://shuxhan-imgbed.oss-cn-hangzhou.aliyuncs.com/img/20210108172745.ico" alt="知乎"></a></span> -->
                <!-- csdn -->
                <!-- <span><a target="_blank" href=""><img src="https://shuxhan-imgbed.oss-cn-hangzhou.aliyuncs.com/img/20210108172932.ico" alt="CSDN"></a></span> -->
            </p>

            <ul class="statistics">
                <li>
                    <span>文章</span>
                    <a href="./archives">7</a>
                </li>
                <li>
                    <span>字数</span>
                    <a>9.7k</a>
                </li>
                <li>
                    <span>访客</span>
                    <a id="busuanzi_value_site_uv"></a>
                </li>
                
                
            </ul>

            <div id="follow" class="button">
                <a target="_blank" href="https://github.com/shuxhan">关注</a>
            </div>
        </div>
    </div>
</section>

    
        
  <section class="widget-wrap">
    <h3 class="widget-title">文章分类</h3>
    <div class="widget">
      <div class="categories-list">
        
           
            
              <a class="category-list-item" href="/categories/BLE">
                <span class="category-list-link">BLE</span>
                <span class="category-list-number">(7)</span>
              </a>
            
          
        
      </div>
    </div>
  </section>


    
        
  <div class="widget-wrap">
    <h3 class="widget-title">标签</h3>
    <div class="widget">
      <ul class="tag-list" itemprop="keywords"><li class="tag-list-item"><a class="tag-list-link" href="/tags/BLE/" rel="tag">BLE</a></li></ul>
    </div>
  </div>


    
        
  <div class="widget-wrap">
    <h3 class="widget-title">最新文章</h3>
    <div class="widget">
      <ul class="recent-posts">
        
          <li>
            <a href="/2021/02/28/GAP%E5%8F%82%E6%95%B0%E8%AE%BE%E7%BD%AE/">BLE GAP参数设置</a>
          </li>
        
          <li>
            <a href="/2021/02/28/BLE%E5%B9%BF%E6%92%AD%E5%92%8C%E6%89%AB%E6%8F%8F%E5%93%8D%E5%BA%94/">BLE 广播和扫描响应</a>
          </li>
        
          <li>
            <a href="/2021/02/28/BLE%20%E8%BF%9E%E6%8E%A5/">BLE 连接</a>
          </li>
        
          <li>
            <a href="/2021/02/28/BLE%20SM/">BLE Security Manager</a>
          </li>
        
          <li>
            <a href="/2021/02/28/BLE%20GATT/">BLE GATT</a>
          </li>
        
      </ul>
    </div>
  </div>

    
        
  <section class="widget-wrap">
    <h3 class="widget-title">归档</h3>
    <div class="widget">
      <ul class="archive-list"><li class="archive-list-item"><a class="archive-list-link" href="/archives/2021/02/">二月 2021</a></li></ul>
    </div>
  </section>


    
    
</div>


    <!-- 目录 -->
    
  </aside>
  
</div>

					</div>
				</div>

				<!-- 返回顶部按钮 -->
				<div class="right-icon">
					<div id="to-top" class="right-icon-item">
						<a>
							<span class="top-left"></span>
							<span class="top-right"></span>
						</a>
					</div>
				</div>
		</div>
		<footer class="footer">

    <div class="copyright-wrap">
      <span>&copy; 2021-2021 朝雨绫萧</span>
      <span id="timeDate">载入天数...</span><span id="busuanzi_container_site_pv">
      总访问量<span id="busuanzi_value_site_pv"></span>次
    </span>
    </div>
    
    
    <!-- <span id="busuanzi_container_site_uv">
      ，本站访客数<span id="busuanzi_value_site_uv"></span>人次
    </span> -->
    
</footer>

<script>
    var now = new Date();
    function createtime() {
      var grt = new Date("2/27/2021 16:12:00");//此处修改你的建站时间或者网站上线时间 
      now.setTime(now.getTime() + 250);
      days = (now - grt) / 1000 / 60 / 60 / 24; dnum = Math.floor(days);
      document.getElementById("timeDate").innerHTML = "本站已安全运行 " + dnum + " 天 ";
    }
    setInterval("createtime()", 1000);
</script>

<script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>

<script src="/lib/jquery.js"></script>


<script src="/lib/waves.js"></script>


<script src="/lib/jquery-ui.js"></script>


<script src="/lib/jquery.tocify.js"></script>


<script src="/js/main.js"></script>


			
<style>
  .copy-btn {
    display: inline-block;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 500;
    line-height: 20px;
    color: rgb(206, 206, 206);
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    border-radius: 3px;
    user-select: none;
    outline: 0;
  }

  .copy-btn:hover {
    color: #888
  }

  .highlight-wrap .copy-btn {
    padding: 2px 6px;
    position: absolute;
    right: 10px;
    top: 1px;
    z-index: 1;
  }



  .highlight-wrap {
    position: relative;
  }

  #copysuccess {
    width: 200px;
    height: 75px;
    position: fixed;
    right: 50%;
    margin-right: -100px;
    top: 40%;
    margin-top: -40px;
    color: #fff;
    font-weight: 600;
    background: #444444d8;
    display: none;
    z-index: 99999;
    border-radius: 10px;
    text-align: center;
    line-height: 30px;
    padding-top: 10px;
    user-select: none;
  }
</style>

<script>
  addLoadEvent(() => {
    $('.highlight').each(function (i, e) {
      var $wrap = $('<div>').addClass('highlight-wrap')
      $(e).after($wrap)
      $wrap.append($('<div>').addClass('copy-btn').append('复制代码').on('click', function (e) {
        var copysuccess = document.getElementById('copysuccess');
        copysuccess.style.display = 'block'
        setTimeout(function () {
          copysuccess.style.display = 'none'
        }, 2000)
        var code = $(this).parent().find(".code")[0].innerText
          
                var ta = document.createElement('textarea')
        document.body.appendChild(ta)
        ta.style.position = 'absolute'
        ta.style.top = '0px'
        ta.style.left = '0px'
        ta.value = code
        ta.select()
        ta.focus()
        var result = document.execCommand('copy')
        document.body.removeChild(ta)
          
                  if (result) $(this).text('复制成功')
            else $(this).text('复制失败')
              
                $(this).blur()
      })).on('mouseleave', function (e) {
        var $b = $(this).find('.copy-btn')
        setTimeout(function () {
          $b.text('复制代码')
        }, 1000)
      }).append(e)
    })
  })
</script>

				<div id="copysuccess">复制成功<br>欢迎阅读文章~</div>
	</body>

</html>

<script>
	$('#to-top').click(function () { $('html,body').animate({ scrollTop: '0px' }, 500); return false; });
</script>